package com.qf.service.impl;

import com.qf.dfa.SensitiveWordFilter;
import com.qf.model.StandardSubmit;
import com.qf.service.FilterChainService;
import org.springframework.stereotype.Service;

/**
 * @author lixu
 */
@Service("dirtyWords")
public class DirtyWordFilterServiceImpl implements FilterChainService {
    /**
     * **敏感词过滤 : **提供短信息安全过滤功能，对非法信息和反动信息进行过滤。
     *
     * - 可以先用IK分词对短信发送内容进行分词，然后用分词后的内容依次查询缓存中的敏感词
     *
     *   IK:整合到了ES中去了 最终是由ES进行的分司
     *
     *
     *
     *
     * - 如果短信发送内容存在敏感词就把发送日志存到Elasticsearch
     * - 如果同时是HTTP的发送方式就模拟出状态报告推送给客户
     * @param submit
     * @return
     */
    @Override
    public boolean strategy(StandardSubmit submit) {

        //短信内容
        //String content = "追讨债务我最在行，我..............";
        // 敏感词的短信 内容
        //String content1 = "你要是不打钱，我就杀了你...............";//打击这种行为

        //1:先分词
        //2:再比对    你    要    是  不  打钱  2
        SensitiveWordFilter instance = SensitiveWordFilter.getInstance();
        //有几个敏感词
        int i = instance.checkSensitiveWord(submit.getMessageContent(), 0, SensitiveWordFilter.minMatchType);
        if(i >0){
            return false;
        }
        return true;
    }
}
